本发明公开了一种交通标志识别方法,属于图像处理领域。本发明采取的方法是对获取的待匹配图像,提取关键点并分别建立局部特征描述子、颜色特征描述子和位置特征描述子,然后对待匹配图像和模板图像库中模版图像各自提取关键点组成待匹配特征点对,通过判断待匹配特征点对的位置特征描述子、颜色特征描述子、局部特征描述子是否满足一定条件,找出的待匹配特征点对最多的模板图像作为对待匹配图像最终识别到的交通标志图像。本发明的方法不仅保留了SIFT特征对于图像尺度变化和旋转具有不变性的优点,而且使提取的特征量更便于判别颜色及空间位置特征,对于色彩丰富及空间位置分布变化各异的交通标志识别极为有效。
1.一种交通标志识别方法,其特征是,包括以下步骤:步骤S1:获取输入的待匹配图像;步骤S2:根据SIFT算法对模版图像和待匹配图像进行关键点提取,并为关键点指定方向;步骤S3:建立关键点的局部特征描述子、颜色特征描述子和位置特征描述子;步骤S4:分别从模板图像和待匹配图像中取一个关键点组成一个待匹配特征点对;步骤S5:根据位置特征描述子判断待匹配特征点对是否来同一分区,是则执行下一步,否则返回步骤S4获取下一对待匹配特征点对;步骤S6:判断待匹配特征点对的颜色特征描述子是否满足第一预设条件,是则执行下一步,否则返回步骤S4;步骤S7:判断待匹配特征点对的局部特征描述子是否满足第二预设条件,是则执行下一步,否则返回步骤S4;步骤S8:用穷举匹配法判断是否寻遍到待匹配图像的所有关键点,如果寻遍,则将找出的待匹配特征点对最多的模板图像作为最终识别到的交通标志图像,否则转向步骤S4;步骤S3所述建立颜色特征描述子为:将彩色图像I(x,y)分解成为R、G、B单颜色通道图像:I
R(x,y)、I
G(x,y)、I
B(x,y),并且根据各点(x,y)的R、G、B值(r、g、b)计算色相分量I
H(x,y)和饱和度分量I
S(x,y),并将彩色图像I(x,y)转换为灰度图像:I
gray(x,y),计算每个特征点在Hue(I
H(x,y))、Saturation(I
S(x,y))分量中16×16邻域的灰度直方图,I
H(x,y)(灰度直方图)的特征向量为32维,I
S(x,y)(灰度直方图)的特征向量为32维,颜色特征向量的维数为64维;步骤S3所述建立位置特征描述子为:以图像的中心为坐标轴原点,做大小椭圆,大椭圆的权重和高度为所述图像的权重和高度,小椭圆的权重和高度分别为所述图像的权重和高度的一半,用大小椭圆对关键点所在图像进行分区,不同的分区中关键点的位置特征描述子不同,同一分区中关键点的位置特征描述子相同。
2.根据权利要求1所述的方法,其特征是:所述模版图像为交通标志模版图像库中存储的图像。
3.根据权利要求1所述的方法,其特征是,步骤S2所述关键点提取具体包括:步骤S21:建立高斯差分尺度空间;D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)=L(x,y,kσ)-L(x,y,σ)式中,(x,y)代表图像I(x,y)的像素位置,L代表图像的尺度空间,σ是尺度空间因子,k=2
1/S,S为高斯金字塔每组的层数,符号*代表卷积,G(x,y,σ)是尺度可变的高斯函数,其定义为
G ( x , y , σ ) = 1 2 π σ 2 e - ( x 2 + y 2 ) / 2 σ 2 ; ]]>步骤S22:构建图像金字塔;步骤S23:检测尺度空间极值点,从中筛选出关键点;一个像素点与其所在的尺度的8个相邻像素点和上下相邻尺度对应位置的9×2个像素点共26个像素点进行比较,当该像素点为最大或最小值时,则该像素点为一个极值点;对极值点进行筛选,去除低对比度的点和边缘上的点后得到关键点。
4.根据权利要求1所述的方法,其特征是,步骤S2所述为关键点指定方向具体包括:关键点的方向利用其邻域像素的梯度及方向分布的特性确定,关键点的梯度模值和方向如下:
m ( x , y ) = ( L ( x + 1 , y ) - L ( x - 1 , y ) ) 2 + ( L ( x , y + 1 ) - L ( x , y - 1 ) ) 2 ]]> θ ( x , y ) = tan - 1 [ L ( x , y + 1 ) - L ( x , y - 1 ) L ( x + 1 , y ) - L ( x - 1 , y ) ] ]]>其中,m(x,y)和θ(x,y)分别为关键点(x,y)处的梯度模值大小和方向,L为每个关键点各自所在的尺度;对每个关键点,在以其为中心的邻域窗口内利用直方图的方式统计邻域像素的梯度分布,直方图的峰值反应关键点所处邻域梯度的主方向,完成直方图统计后,找到直方图的最高峰值确定为关键点的方向。
5.根据权利要求1所述的方法,其特征是,步骤S3所述建立局部特征描述子为:将坐标轴旋转至关键点的方向,以关键点为中心取8×8的窗口,然后将8×8的窗口划分为4×4=16块,对每一块计算8个方向的梯度直方图,绘制每个梯度方向的累加值,即形成一个种子点,共生成4×4=16个种子点,每个种子点有8个方向向量信息,于是得到一个4×4×8=128维的特征向量。
6.根据权利要求1所述的方法,其特征是,步骤S6具体为:计算待匹配特征点对颜色特征向量间的欧氏距离,判断该距离是否小于第一预设值,若小于则所述待匹配特征点对有相似的背景颜色,否则不匹配。
7.根据权利要求1所述的方法,其特征是,步骤S7具体为:计算待匹配特征点对局部特征的特征向量间欧氏距离,判断该距离是否小于第二预设值,若小于则所述待匹配特征点对来自同一区域,否则不匹配。
技术领域本发明涉及一种交通标志识别方法,属于图像处理、模式识别、计算机视觉领域。
背景技术目前,智能交通系统在我国发展迅速,驾驶安全问题、城市交通堵塞问题、运输效率问题都有望通过对车辆信息化和智能化的改造获得改善。基于图像检测与处理技术的交通标志识别系统作为智能交通系统的一个重要的子系统,已逐渐成为目前智能交通系统国内外研究的热点。交通标志识别系统一般是通过安装在交通工具上的摄像机摄取户外自然场景中交通标志图像,输入计算机进行处理完成的,由于户外环境存在多种复杂因素的影响,它比一般的非自然场景下的目标识别更具挑战性,交通标志识别的主要难点有:如何提取对光照、形状变化、尺寸变化具有鲁棒性的特征量。在交通标志检测与识别领域国内外学者们做了大量的研究,非专利文献1xa0(Saturninoxa0Maldonado-Bascón,xa0Sergioxa0Lafuente-Arroyo,xa0etxa0al.xa0Road-Signxa0Detectionxa0andxa0Recognitionxa0ba
sedxa0onxa0Supportxa0Vectorxa0Machinesxa0[J]//xa0IEEExa0Transactionsxa0onxa0Intelligentxa0Systems,xa02007,xa08(2):xa0264-278.)提出了基于颜色和支持向量机的交通标志检测与识别系统。他们基于Hue-saturation空间的直方图提取出红色、蓝色、黄色的区域,再根据该区域的面积、形状等滤波器确定交通标志的位置,最后利用支持向量机识别和理解交通标志。非专利文献xa02(Lowe,xa0D.G.xa0Distinctivexa0Imagexa0Featuresxa0fromxa0Scale-Invariantxa0Keypoints,xa0Internationalxa0Journalxa0ofxa0Computerxa0Vision,xa060xa0(2):xa091–110,2004.)提出了Scalexa0Invariantxa0Featurexa0Transformxa0(SIFT)算法,SIFT是一种相似不变量,对于图像尺度变化和旋转是不变的。并且SIFT对图像的复杂变形和光照变化有较强的适应性。但是,整幅图像的SIFT特征匹配将导致计算量增大,无法保证系统的实时性。在复杂环境下将会导致较多的误检率。现有技术存在的缺陷:由于环境光照变化、信号牌褪色等影响,在复杂环境下,基于颜色的交通标志识别系统往往无法正确地检测与识别,例如蓝色背景的交通标志就无法通过蓝色滤波器检测出来。所以按照颜色或轮廓形状分类的方法难以处理环境光照变化、遮挡及几何变形等情况。另外,仅基于局域边缘信息(SIFT等)的交通标志识别方法对于几何图样相同但颜色不同的交通标志的识别来说就显得无能为力。
发明内容为解决现有技术中存在缺陷,本发明提出了一种基于传统SIFT算法和颜色、空间位置等判别信息的交通标志识别方法。本发明采取的技术方案如下:一种交通标志识别方法,包括以下步骤:步骤S1:获取输入的待匹配图像;步骤S2:根据SIFT算法对模版图像和待匹配图像进行关键点提取,并为关键点指定方向;步骤S3:建立关键点的局部特征描述子、颜色特征描述子和位置特征描述子;步骤S4:分别从模板图像和待匹配图像中取一个关键点组成一个待匹配特征点对;步骤S5:根据位置特征描述子判断待匹配特征点对是否来同一分区,是则执行下一步,否则返回步骤S4获取下一对待匹配特征点对;步骤S6:判断待匹配特征点对的颜色特征描述子是否满足第一预设条件,是则执行下一步,否则返回步骤S4;步骤S7:判断待匹配特征点对的局部特征描述子是否满足第二预设条件,是则执行下一步,否则返回步骤S4;步骤S8:用穷举匹配法判断是否寻遍到待匹配图像的所有关键点,如果寻遍,则将找出的待匹配特征点对最多的模板图像作为最终识别到的交通标志图像,否则转向步骤S4。所述模版图像为交通标志模版图像库中存储的图像。上述步骤S2所述关键点提取具体包括:步骤S21:建立高斯差分尺度空间;D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)=L(x,y,kσ)-L(x,y,σ)式中,(x,y)代表图像I(x,y)的像素位置,L代表图像的尺度空间,σ是尺度空间因子,k=2
1/S,S为高斯金字塔每组的层数,符号*代表卷积,G(x,y,σ)是尺度可变的高斯函数,其定义为
![]()
ntent="drawing" img-format="jpg" inline="yes" orientation="portrait" wi="662"/>步骤S22:构建图像金字塔;步骤S23:检测尺度空间极值点,从中筛选出关键点;一个像素点与其所在的尺度的8个相邻像素点和上下相邻尺度对应位置的9×2个像素点共26个像素点进行比较,当该像素点为最大或最小值时,则该像素点为一个极值点;对极值点进行筛选,去除低对比度的点和边缘上的点后得到关键点。上述骤S2所述为关键点指定方向具体包括:关键点的方向利用其邻域像素的梯度及方向分布的特性确定,关键点的梯度模值和方向如下:
m ( x , y ) = ( L ( x + 1 , y ) - L ( x - 1 , y ) ) 2 + ( L ( x , y + 1 ) - L ( x , y - 1 ) ) 2 ]]> θ ( x , y ) = tan - 1 [ L ( x , y + 1 ) - L ( x , y - 1 ) L ( x + 1 , y ) - L ( x - 1 , y ) ] ]]>其中,m(x,y)和θ(x,y)分别为关键点(x,y)处的梯度模值大小和方向,L为每个关键点各自所在的尺度;对每个关键点,在以其为中心的邻域窗口内利用直方图的方式统计邻域像素的梯度分布,直方图的峰值反应关键点所处邻域梯度的主方向,完成直方图统计后,找到直方图的最高峰值确定为关键点的方向。上述步骤S3具体为:所述建立局部特征描述子为:将坐标轴旋转至关键点的方向,以关键点为中心取8×8的窗口,然后将8×8的窗口划分为4×4=16块,对每一块计算8个方向的梯度直方图,绘制每个梯度方向的累加值,即形成一个种子点,共生成4×4=16个种子点,每个种子点有8个方向向量信息,于是得到一个4×4×8=128维的特征向量;所述建立颜色特征描述子为:将彩色图像I(x,y)分解成为R、G、B单颜色通道图像:I
R(x,y)、I
G(x,y)、I
B(x,y),并且根据各点(x,y)的R、G、B值(r、g、b)计算色相分量I
H(x,y)和饱和度分量I
S(x,y),并将彩色图像I(x,y)转换为灰度图像:I
gray(x,y)。计算每个特征点在Hue(I
H(x,y))、Saturation(I
S(x,y))分量中16×16邻域的灰度直方图,I
H(x,y)(灰度直方图)的特征向量为32维,I
S(x,y)(灰度直方图)的特征向量为32维。颜色特征向量的维数为64维;所述建立位置特征描述子为:以图像的中心为坐标轴原点,做大小椭圆,大椭圆的长轴和短轴为所述图像的长和宽,小椭圆的长轴和短轴分别为所述图像的长和宽的一半,用大小椭圆对关键点所在图像进行分区,不同的分区中关键点的位置特征描述子不同,同一分区中关键点的位置特征描述子相同。上述步骤S6具体为:计算待匹配特征点对颜色特征向量间的欧氏距离,判断该距离是否小于第一预设值,若小于则所述待匹配特征点对有相似的背景颜色,否则不匹配。上述步骤S7具体为:计算待匹配特征点对局部特征的特征向量间欧氏距离,判断该距离是否小于第二预设值,若小于则所述待匹配特征点对来自同一区域,否则不匹配。本发明与现有技术相比有益效果如下:在现有技术研究的基础上提出了颜色及空间位置判别SIFT算法,在传统的SIFT特征量的基础上增加了颜色判别信息,不仅保留了SIFT特征对于图像尺度变化和旋转具有不变性的优点,而且使提取的特征量更便于判别颜色及空间位置特征,对于色彩丰富及空间位置分布变化各异的交通标志识别极为有效。
附图说明下面结合附图和实施例对本发明进一步说明。图1是实施例一提出的一种交通标志识别方法流程图;图2是由高斯金字塔生成生成DoG金字塔示意图;图3xa0DoG尺度空间局部极值检测;图4将描述子所需的图像区域的坐标移至关键点主方向;图5xa0由关键点邻域梯度信息生成特征向量;图6图像的Hue与Saturation分量图;图7xa0图像分区的几何分布图;图8xa0位置关系图;图9xa0实验图像与模板图像匹配的结果。
具体实施方式以下结合附图和实施例对本发明的技术方案作进一步详细说明。以下实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和过程,但本发明的保护范围不限于下述实施例。实施例一如图1所示,本发明提出的一种交通标志识别方法,包括以下步骤:步骤S1:获取输入的待匹配图像;步骤S2:根据SIFT算法对模版图像库中的图像和待匹配图像进行关键点提取,并为关键点指定方向;SIFT算法有以下几个步骤:1.检测尺度空间的极值点;2.抽取稳定的关键点;3.为每个关键点指定方向;4.生成特征点描述子。本实施例中步骤S2根据SIFT算法确定关键点的具体方法同背景技术体提及的非专利文献2记录的SIFT算法中公开的内容相同,为关键点指定方向具体为采样直方图方式为关键点指定主方向。步骤S3:计算关键点的局部特征描述子、颜色特征描述子和位置特征描述子;步骤S4:分别从模板图像和待匹配图像中取一个关键点组成一个待匹配特征点对;步骤S5:根据位置特征描述子判断待匹配特征点对是否来同一分区,是则执行下一步,否则返回步骤S4获取下一对待匹配特征点对;步骤S6:判断待匹配特征点对的颜色特征描述子是否满足第一预设条件,是则执行下一步,否则返回步骤S4;具体的,第一预设条件为:模板图像和待匹配图像的颜色特征描述子间的欧氏距离小于第一预设值。步骤S7:判断待匹配特征点对的局部特征描述子是否满足第二预设条件,是则执行下一步,否则返回步骤S4;具体的,第二预设条件为:模板图像和待匹配图像的局部特征描述子间的欧氏距离小于第二预设值。步骤S8:用穷举匹配法判断是否寻遍到待匹配图像的所有关键点,如果寻遍,则将找出的待匹配特征点对最多的模板图像作为最终识别到的交通标志图像,否则转向步骤S4。实施例二本实施例中,将收集的交通标志作为模板图像库中存储的图像,以此为基础对待匹配图像进行交通标志识别的方法如下:1.对模版图像库中的图像和待匹配图像进行关键点提取步骤101,建立高斯差分尺度空间(DoG),寻找极值点。尺度空间理论的目的是模拟图像数据的多尺度特征。一幅二维图像,在不同尺度下的尺度空间表示可由图像与高斯函数卷积得到:L(x,y,σ)=G(x,y,σ)*I(x,y)。式中,(x,y)代表图像的像素位置;L代表图像的尺度空间;σ是尺度空间因子,值越小表示图像被平滑的越少,相应的尺度也就越小;符号*代表卷积;G(x,y,σ)是尺度可变的高斯函数,其定义为
G ( x , y , σ ) = 1 2 πσ 2 e - ( x 2 + y 2 ) / 2 σ 2 . ]]>利用不同尺度的高斯差分核与图像卷积可生成高斯差分尺度空间(DoGxa0scale-space)。D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)=L(x,y,kσ)-L(x,y,σ)其中,k=2
1/S,S为高斯金字塔每组的层数。步骤102,构建DoG金字塔,建立高斯差分图像,如图2所示,图像金字塔自下而上分为多层,在第一层中,对原始图像不断用高斯函数卷积,得到一系列逐渐平滑的图像,在这一层中,相邻的高斯图像差分得到高斯差分图像。这一组进行完毕后,从中抽取一幅图像A进行降采样,得到图像B的面积为A的1/4,并将B作为下一层的初始图像,重复第一层的过程。图2所示金字塔共O组,每组有S层,下一组的图像由上一组图像降采样得到。步骤103,检测尺度空间极值点,从中筛选出关键点。为了寻找尺度空间的极值点,每一幅高斯差分图像中的一个像素点,要和它所在图像的八邻域像素比较,而且要和它所在图像的上一层和下一层的各九个临近的像素点比较,看其是否比它的图像域和尺度域的相邻点大或者小。如图3所示,中间的检测点和它同尺度的8个相邻点和上下相邻尺度对应的9×2个点共26个点比较,以确保在尺度空间和二维图像空间都检测到极值点。一个点如果在DoG尺度空间本层以及上下两层的26个领域中是最大或最小值时,就认为该点是图像在该尺度下的一个极值点。对极值点进行筛选,去除不稳定的点,不稳定的点包括低对比度的点和边缘上的点。剩余的点即为关键点。步骤104,为每个关键点指定方向参数。为了使描述符具有旋转不变性,需要利用图像的局部特征为给每一个关键点分配一个方向。利用关键点邻域像素的梯度及方向分布的特性,可以得到梯度模值和方向如下:
m ( x , y ) = ( L ( x + 1 , y ) - L ( x - 1 , y ) ) 2 + ( L ( x , y + 1 ) - L ( x , y - 1 ) ) 2 ]]> θ ( x , y ) = tan - 1 [ L ( x , y + 1 ) - L ( x , y - 1 ) L ( x + 1 , y ) - L ( x - 1 , y ) ] ]]>其中,m(x,y)和θ(x,y)分别为高斯金字塔影像(x,y)处的梯度模值大小和方向。L为每个关键点各自所在的尺度。在以关键点为中心的邻域窗口内采样,并用直方图统计邻域像素的梯度方向。梯度直方图的范围是0~360度,其中每10度一个方向,总共36个方向。直方图的峰值则代表了该关键点处邻域梯度的主方向,即作为该关键点的方向。2.对1中所有的关键点建立描述子步骤200,建立局部特征描述子。将描述子所需的图像区域的坐标移至关键点主方向。如图4所示。那么旋转角度后的新坐标为:
x ^ y ^ = cos θ - sin θ sin θ cos θ × x y ]]>如图5所示,以关键点为中心取8×8的窗口,在窗口宽度为2X2的区域内计算8个方向的梯度方向直方图,绘制每个梯度方向的累加值,即可形成一个种子点。共生成16个种子点。每个种子点有8个方向向量信息,最终形成128维的SIFT特征向量。xa0步骤201,建立颜色特征描述子。将彩色图像I(x,y)分解成为R、G、B单颜色通道图像:I
R(x,y)、I
G(x,y)、I
B(x,y),并且根据各点(x,y)的R、G、B值(r、g、b)计算的Hue(色相)、Saturation(饱和度)分量:I
H(x,y)、I
S(x,y)。并将彩色图像I(x,y)转换为灰度图像:I
gray(x,y)。各点(x,y)的Hue分量(H)、Saturation(S)的计算方法如下:max=max(r,g,b)xa0min=min(r,g,b)xa0ifxa0rxa0=xa0max,xa0Hxa0=xa0(g-b)/(max-min)xa0ifxa0gxa0=xa0max,xa0Hxa0=xa02xa0+xa0(b-r)/(max-min)xa0ifxa0bxa0=xa0max,xa0Hxa0=xa04xa0+xa0(r-g)/(max-min)xa0Hxa0=xa0Hxa0*xa060xa0ifxa0Hxa0<xa00,xa0Hxa0=xa0Hxa0+xa0360xa0Sxa0=xa0(max-min)/max图像的Hue(色相)、Saturation(饱和度)分量如附图6所示。计算每个特征点在Hue(I
H(x,y))、Saturation(I
S(x,y))分量中16×16邻域的灰度直方图,I
H(x,y)(灰度直方图)的特征向量为32维,I
S(x,y)xa0(灰度直方图)的特征向量为32维。颜色特征向量的维数为64维。步骤202,建立位置特征描述子。如图7所示,将交通标志的候选区域分割成9部分,标号为1~9,其中1~9即为位置特征表述子。考虑到旋转和仿射变换的影响,我们用椭圆对交通标志图像进行分区。其中大、小椭圆是以坐标轴原点为中心的同心椭圆。大椭圆的长轴和短轴为图像候选区域的长和宽,小椭圆的长轴和短轴分别为其的一半。对于待匹配图像或模版库中的图像,我们用上述方法用椭圆将图像区域分割成9部分。如图8所示,例如左上方区域每个坐标(x
1i,y
1i)位置特征描述子都为1。3.特征点匹配步骤300,分别对模板图像和待匹配图像建立关键点描述子集合(位置特征描述子集合,颜色特征描述子集合,局部特征描述子集合)。分别取模板图像和待匹配图像的一个关键点组成一个待匹配特征点对。步骤301,判断这个待匹配特征点对是否来自步骤202中图像的同一分区,即判断所取的模板图像和待匹配图像中关键点的位置描述子是否相同,以提高精度和降低计算的复杂度,若位置描述子相同则说明来自同一分区,否则来自不同的分区。如果来自同一分区,则进行步骤302。如果不是来自同一分区,则转向步骤300。步骤302,比较颜色描述子,判断待匹配特征点对是否有相似的背景颜色,具体判断方法为:计算待匹配特征点对颜色特征向量间的欧氏距离d(R
ci,S
ci),判断该距离是否小于第一预设值Threshold1,若小于则匹配特征点对由相似的背景颜色,否则不匹配。模板图像中关键点颜色特征描述子集合:R
ci=(r
ci1,r
ci2,...r
ci64)待匹配图像中关键点颜色特征描述子集合:S
ci=(s
ci1,s
ci2,...s
ci64)任意两描述子相似性度量:
![]()
ntent="drawing" img-format="jpg" inline="yes" orientation="portrait" wi="575"/>要得到配对的关键点描述子,d(R
ci,S
ci)需满足d(R
ci,S
ci)
i,Si)表示。模板图中关键点局部特征描述子集合:Ri=(ri1,ri2,...,ri128)待匹配图中关键点局部特征描述子集合:Si=(si1,si2,...,si128)任意两描述子相似性度量:
ntent="drawing" img-format="jpg" inline="yes" orientation="portrait" wi="578"/>要得到配对的关键点描述子,d_i(Ri,Si)需满足d_i(Ri,Si)